<?php

class Llamadas extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        $this->load->model('pa_model');
        $this->load->model('lla_model');
        $this->load->model('act_model');
        $this->load->config('siscat_config');
        $this->load->library('gf');
    }

    function index()
    {
        $this->lists();
    }

    function llamadas_paciente($id_paciente)
    {
        $a = $this->session->userdata('logged_in');
        $acceso = $this->gf->rol_check('user', $a, base_url());

        $query_rows = $this->pa_model->find($id_paciente);
        $row = $query_rows->row();

        if ($query_rows->num_rows() == 0)
        {
            $data['title'] = "Error";
            $data['mensaje'] = "El paciente no existe.!";
            $data['url'] = base_url() . "";
            $data['view'] = "mensajes_error/error_general";
            $this->load->view('templates/temp_menu', $data);
        }
        else
        {
            $data['title'] = "Llamadas paciente " . $row->p_apellido . ", " . $row->p_nombre;
            $data['array_llamadas'] = $this->lla_model->llamadas_pacientes_select($id_paciente);
            $data['id_paciente'] = $id_paciente;
            $data['view'] = "llamadas/llamadas_list";
            $data['js'] = array(
                'js/blockui-master/jquery.blockUI',
                'js/bootstrap-master/docs/assets/js/bootstrap-transition',
                'js/bootstrap-master/docs/assets/js/bootstrap-alert',
                'js/bootstrap-master/docs/assets/js/bootstrap-modal',
                'js/parsley/parsley',
                'js/parsley/messages',
                'js/llamadas_list'
            );

            $this->load->view('templates/temp_menu', $data);
        }
    }

    function form($id_paciente = 0)
    {

        $a = $this->session->userdata('logged_in');
        $acceso = $this->gf->rol_check('user', $a, base_url());

        $query_rows = $this->pa_model->find($id_paciente);
        $row = $query_rows->row();

        $id_llamada = $this->input->get('id_llamada');

        if ($query_rows->num_rows() == 0)
        {
            $data['title'] = "Error";
            $data['mensaje'] = "El paciente no existe.!";
            $data['url'] = base_url() . "";
            $data['view'] = "mensajes_error/error_general";
            $this->load->view('templates/temp_menu', $data);
        }
        else
        {
            if ($id_llamada != '0')
            {
                $query_rows = $this->lla_model->find($id_llamada);
                $row = $query_rows->row();

                $data['title'] = $this->config->item('lla_title_edit');
                $data['accion'] = "editar";
                $data['id_paciente'] = $id_paciente;
                $data['id_llamada'] = $id_llamada;
                $data['lla_detalle'] = $row->lla_detalle;
                $data['view'] = 'llamadas/llamadas_form';
            }
            else
            {
                $data['title'] = $this->config->item('lla_title_new');
                $data['accion'] = "crear";
                $data['id_paciente'] = $id_paciente;
                $data['id_llamada'] = '0';
                $data['lla_detalle'] = "";
                $data['view'] = 'llamadas/llamadas_form';
            }
            $data['js'] = array(
                'js/blockui-master/jquery.blockUI',
                'js/bootstrap-master/docs/assets/js/bootstrap-transition',
                'js/bootstrap-master/docs/assets/js/bootstrap-alert',
                'js/bootstrap-master/docs/assets/js/bootstrap-modal',
                'js/parsley/parsley',
                'js/parsley/messages',
                'js/llamadas_form'
            );
            $this->load->view('templates/temp_menu', $data);
        }
    }

    //Se usa para ajax guarda los registros de obras sociales
    function save()
    {

        $a = $this->session->userdata('logged_in');
        $acceso = $this->gf->rol_check('user', $a, base_url());

        $id = $this->input->post('id_paciente');
        $lla_detalle = $this->input->post('lla_detalle');
        $accion = $this->input->post('accion');

        //Creo el array 
        $array = array
            (
            'id_paciente' => $id,
            'lla_detalle' => $lla_detalle
        );
        //Si el nombre de la obra social no esta vacio
        if ($lla_detalle != "")
        {
            if ($accion == 'crear')
            {
                //Registro actividades
                $this->registro_obras_sociales($accion, $id, $array);
                $id_ultimo = $this->lla_model->insert($array);

                echo "crear"; //Muestra mensaje que se creo una obra social
            }
            elseif ($accion == 'editar')
            {

                //Registro actividades
                $this->registro_obras_sociales($accion, $id, $array);
                $this->lla_model->update($id, $array);

                echo "editar"; //Muestra mensaje que se edito una obra social
            }
        }
        else
        {
            echo "nulo"; //Muestra mensaje que el campo esta vacio.
        }
    }

    function delete()
    {

        $a = $this->session->userdata('logged_in');
        $acceso = $this->gf->rol_check('user', $a, base_url());
        $id = $this->input->post('id_llamada');
         //Registro actividades
        $row_datos = $this->lla_model->act_delete_datos($id);
        $accion = "Se elimino llamada de  paciente " . $row_datos['p_apellido'] . ", " . $row_datos['p_nombre'];
        $detalle = "<table class='table'>
                    <tr><th>Campo</th><th>Valor</th></tr>
                    <tr><td><b>Nombre paciente</b></td><td>" . $row_datos['p_nombre'] . "</td></tr>
                    <tr><td><b>Apellido paciente</b></td><td>" . $row_datos['p_apellido'] . "</td></tr>
                    <tr><td><b>Historia clínica paciente</b></td><td>" . $row_datos['p_historia_clinica'] . "</td></tr>
                    <tr><td><b>Llamada detalle</b></td><td>" . $row_datos['lla_detalle'] . "</td></tr>
                    <tr><td><b>Llamada fecha</b></td><td>" . $this->gf->fecha($row_datos['lla_fecha']) . "</td></tr>
                </table>";
        $act_array = array(
            'a_accion' => $accion,
            'a_detalle' => $detalle,
            'id_usuario' => $a['id_usuario']
        );
        //Guardar en registro de actividades
        $this->act_model->insert($act_array);
        $this->lla_model->delete($id);
    }

    function lists()
    {

        $a = $this->session->userdata('logged_in');
        $acceso = $this->gf->rol_check('user', $a, base_url());

        $data['title'] = $this->config->item('lla_title_list');
        $data['view'] = 'llamadas/llamadas_list';
        $data['array'] = $this->lla_model->select();
        $data['js'] = array(
            'js/blockui-master/jquery.blockUI',
            'js/bootstrap-master/docs/assets/js/bootstrap-transition',
            'js/bootstrap-master/docs/assets/js/bootstrap-alert',
            'js/bootstrap-master/docs/assets/js/bootstrap-modal',
            'js/bootstrap-master/docs/assets/js/bootstrap-tab',
            'js/llamadas_list'
        );
        $this->load->view('templates/temp_menu', $data);
    }

    private function registro_obras_sociales($accion, $id, $ro)
    {

        $a = $this->session->userdata('logged_in');
        $acceso = $this->gf->rol_check('user', $a, base_url());

        $row = $this->pa_model->find_paciente_nombre($id);
        $row = $row->row();
        $nombre_paciente = $row->p_nombre;
        $apellido_paciente = $row->p_apellido;

        if ($accion == 'editar')
        {
            $query = sprintf("select * from llamadas where id_paciente=%s", $id);
            $row = $this->db->query($query);
            $row = $row->row_array();

            $tr_1 = $this->gf->color_tr($row['lla_detalle'], $ro['lla_detalle']);



            if ($tr_1 != "")
            {
                $accion = "Se actualizo llamada " .$apellido_paciente.", ".$nombre_paciente;
                $detalle = "<table class='table'>
                    <tr><th>Campo</th><th>Valor viejo</th><th>Valor nuevo</th></tr>
                    <tr class='" . $tr_1 . "' ><td><b>Nombre</b></td><td>" . $row['lla_detalle'] . "</td><td>" . $ro['lla_detalle'] . "</td></tr>
                    </table>";
                
                 $act_array = array(
                'a_accion' => $accion,
                'a_detalle' => $detalle,
                'id_usuario' => $a['id_usuario']
                );
                $this->act_model->insert($act_array);
            }

           
        }
        elseif ($accion == 'crear')
        {
            $accion = "Se creo llamada " .$apellido_paciente.", ".$nombre_paciente;
            $detalle = "<table class='table'>
                    <tr><th>Campo</th><th>Valor nuevo</th></tr>
                    <tr><td><b>Nombre</b></td><td>" . $ro['lla_detalle'] . "</td></tr>
                </table>";

            $act_array = array(
                'a_accion' => $accion,
                'a_detalle' => $detalle,
                'id_usuario' => $a['id_usuario']
            );
            $this->act_model->insert($act_array);
        }
    }

}

?>